#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	/*FILE* pf = fopen("data.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}*/
//
//	/*fputs("abcdef", pf);
//	fputs("hello world", pf);*/
//	/*fputc('a', pf);
//	fputc('b', pf);
//	fputc('c', pf);*/
//	/*int i = 0;
//	for (i = 0; i < 26; i++)
//	{
//		fputc('a' + i, pf);
//	}*/
//
//
//	/*int ch = fgetc(pf);
//	printf("%c\n", ch);
//	ch = fgetc(pf);
//	printf("%c\n",ch);
//	ch = fgetc(pf);
//	printf("%c\n", ch);
//	ch = fgetc(pf);
//	printf("%c\n", ch);*/
//
//
//	/*int ch = fgetc(stdin);
//	printf("%c\n", ch);
//	ch = fgetc(stdin);
//	printf("%c\n", ch);
//	ch = fgetc(stdin);
//	printf("%c\n", ch);
//	ch = fgetc(stdin);
//	printf("%c\n", ch);*/
//
//
//
//	/*int arr[10] = { 0 };
//	fgets(arr,10, pf);
//	printf("%s", arr);*/
//
//	FILE* pf = fopen("data.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}
//struct S
//{
//	int a;
//	float b;
//};
//int main()
//{
//	struct S s = { 0 };
//	FILE* pf = fopen("data.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	fscanf(pf, "%d %f", &(s.a), &(s.b));
//	printf("%d %f", s.a, s.b);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//struct S
//{
//	int a;
//	float b;
//	char str[10];
//};
//int main()
//{
//	char arr[30] = { 0 };
//	struct S temp = { 0 };
//	struct S s = { 12,3.14f,"hehe" };
//	sprintf(arr, "%d %f %s", s.a, s.b, s.str);
//	sscanf(arr, "%d %f %s", &(temp.a), &(temp.b), &(temp.str));
//	printf("%d %f %s", temp.a,temp.b,temp.str);
//	/*printf("%s", arr);*/
//	return 0;
//}

struct S
{
	int a;
	float b;
	char str[100];
};
int main()
{
	struct S s = { 12,3.14f,"hello world" };
	FILE* pf = fopen("data.txt", "wb");
	if (pf == NULL)
	{
		perror(fopen);
		return 1;
	}
	fread(&s, sizeof(struct S), 1, pf);
	printf("%d %f %s", s.a, s.b, s.str);
	fclose(pf);
	pf = NULL;

}